home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 1
/
Cream of the Crop 1.iso
/
OS2
/
ELV15.ARJ
/
CUTBUFS.DOC
< prev
next >
Wrap
Text File
|
1992-06-20
|
6KB
|
199 lines
_6. _C_U_T _B_U_F_F_E_R_S
When Elvis deletes text, it stores that text in a cut
buffer. This happens in both visual mode and EX mode.
There is no practical limit to how much text a cut buffer
can hold.
There are 36 cut buffers: 26 named buffers ("a through
"z), 9 anonymous buffers ("1 through "9), and 1 extra cut
buffer (".).
In EX mode, the :move and :copy commands use a cut
buffer to temporarily hold the text to be moved/copied.
_6._1. _P_u_t_t_i_n_g _t_e_x_t _i_n_t_o _a _C_u_t _B_u_f_f_e_r
In visual mode, text is copied into a cut buffer when
you use the d, y, c, C, s, or x commands. There are also a
few others.
By default, the text goes into the "1 buffer. The text
that used to be in "1 gets shifted into "2, "2 gets shifted
into "3, and so on. The text that used to be in "9 is lost.
This way, the last 9 things you deleted are still accessi-
ble.
You can also put the text into a named buffer -- "a
through "z. To do this, you should type the buffer's name
(two keystrokes: a double-quote and a lowercase letter)
before the command that will cut the text. When you do
this, "1 through "9 are not affected by the cut.
You can append text to one of the named buffers. To do
this, type the buffer's name in uppercase (a double-quote
and an uppercase letter) before the d/y/c/C/s/x command.
The ". buffer is special. It isn't affected by the
d/y/c/C/s/x command. Instead, it stores the text that you
typed in the last time you were in input mode. It is used
to implement the . visual command, and ^A in input mode.
In EX mode (also known as colon mode), the :delete,
:change, and :yank commands all copy text into a cut buffer.
Like the visual commands, these EX commands normally use the
"1 buffer, but you can use one of the named buffers by giv-
ing its name after the command. For example,
:20,30y a
will copy lines 20 through 30 into cut buffer "a.
You can't directly put text into the ". buffer, or the
"2 through "9 buffers.
June 13, 1992
6-2 CUT BUFFERS 6-2
_6._2. _P_a_s_t_i_n_g _f_r_o_m _a _C_u_t _B_u_f_f_e_r
There are two styles of pasting: line-mode and
character-mode. If a cut buffer contains whole lines (from
a command like "dd") then line-mode pasting is used; if it
contains partial lines (from a command like "dw") then
character-mode pasting is used. The EX commands always cut
whole lines.
Character-mode pasting causes the text to be inserted
into the line that the cursor is on.
Line-mode pasting inserts the text on a new line above
or below the line that the cursor is on. It doesn't affect
the cursor's line at all.
In visual mode, the p and P commands insert text from a
cut buffer. Uppercase P will insert it before the cursor,
and lowercase p will insert it after the cursor. Normally,
these commands will paste from the "1 buffer, but you can
specify any other buffer to paste from. Just type its name
(a double-quote and another character) before you type the P
or p.
In EX mode, the (pu)t command pastes text after a given
line. To paste from a buffer other that "1, enter its name
after the command.
_6._3. _M_a_c_r_o_s
The contents of a named cut buffer can be executed as a
series of ex/vi commands.
To put the instructions into the cut buffer, you must
first insert them into the file, and then delete them into a
named cut buffer.
To execute a cut buffer's contents as EX commands, you
should give the EX command "@" and the name of the buffer.
For example, :@z will execute "z as a series of EX commands.
To execute a cut buffer's contents as visual commands,
you should give the visual command "@" and the letter of the
buffer's name. The visual "@" command is different from the
EX "@" command. They interpret the cut buffer's contents
differently.
The visual @ command can be rather finicky. Each char-
acter in the buffer is interpretted as a keystroke. If you
load the instructions into the cut buffer via a "zdd com-
mand, then the newline character at the end of the line will
be executed just like any other character, so the cursor
would be moved down 1 line. If you don't want the cursor to
move down 1 line at the end of each @z command, then you
June 13, 1992
6-3 CUT BUFFERS 6-3
should load the cut buffer by saying 0"zD instead.
Although cut buffers can hold any amount of text, Elvis
can only _e_x_e_c_u_t_e small buffers. The size limit is roughly
1000 characters, for either EX macros or VI macros. If a
buffer is too large to execute, an error message is
displayed.
You can't nest :@ commands. You can't run :@ commands
from your .exrc file, or any other :source file either.
Similarly, you can't run a :source command from within an @
command. Hopefully, these restrictions will be lifted in a
later version.
_6._4. _T_h_e _E_f_f_e_c_t _o_f _S_w_i_t_c_h_i_n_g _F_i_l_e_s
When Elvis first starts up, all cut buffers are empty.
When you switch to a different file (via the :n or :e com-
mands perhaps) the 9 anonymous cut buffers are emptied
again, but the other 27 buffers ("a through "z, and ".)
retain their text.
June 13, 1992